#ifndef PLAYSCENE_H
#define PLAYSCENE_H
#include<bits/stdc++.h>
#include <QMainWindow>
#include"mygrid.h"
#include"choice.h"
#include<QCloseEvent>
class PlayScene : public QMainWindow
{
    Q_OBJECT
public:
    explicit PlayScene(QWidget *parent = nullptr);
    PlayScene(int levelNum);
    int levelIndex;
    void paintEvent(QPaintEvent*);
    void closeEvent(QCloseEvent *event);
    int gameArray[9][9];
    int stArray[9][9];    //设计一个st表代表哪些数字是原来自带的
    int row[9][9]={},col[9][9]={},cell[3][3][9]={};//row[r][i]表示的是r行是否具有数字i
    MyGrid *gridBtn[9][9];
    MyGrid *SpinGrid=NULL;//正在转的硬币,NULL表示没有在转的
    int SpinGridNum=-1;//在转的硬币的原始数字，-1表示没有在转的,这个时候 stopflag相当于还原
    int cnt=0;//表示总共填了几个数字
    bool isWin=false;
    bool showChoice=true;
    bool spinexist=false;
    int spingridx=-1,spingridy=-1,spingridBecome=-1;//表示转动的位置,停止转动后的数字
    Choice *mychoice;
    std::vector<std::vector<char>>myanswer;
    bool isIndfs=false;//在求解dfs的时候阻止操作
    bool indfsWantquit=false;
signals:
    void putAnum();//成功完成了一个num
    void backtoLastS();
    void restart();
void chooseSceneBack();
};

#endif // PLAYSCENE_H
